// SHObserverManager.h: interface for the SHObserverManager class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SHOBSERVERMANAGER_H__13C6796A_74E2_4B31_B62A_F31AC0365D9B__INCLUDED_)
#define AFX_SHOBSERVERMANAGER_H__13C6796A_74E2_4B31_B62A_F31AC0365D9B__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "SHPoint.h"

class SHObserverManager
{
public:
	typedef AcDbDictionaryIterator Iterator;

public:
	SHObserverManager();
	virtual ~SHObserverManager();

public:
	void SetManagerHandle(const AcDbHandle& handle);
	SHPoint GetSHPoint(const CString& strName);
	BOOL HasSH(const CString& strName);
	void Update();
	void Remove(const CString& strName);
	Iterator* NewIterator();

	SHPoint GetSHPoint(SupportHanger* pSH);
	void Remove(SupportHanger* pSH);
private:
	AcDbDictionary* OpenDictionary();

private:
	AcDbHandle m_handle;
};

#endif // !defined(AFX_SHOBSERVERMANAGER_H__13C6796A_74E2_4B31_B62A_F31AC0365D9B__INCLUDED_)
